/*
* fbank.com Inc.
* Copyright (c) 2020 All Rights Reserved.
* create by fm
* date:2020-04-26
*/
package com.ouwen.smartpay.entity;


import com.fm.common.emuns.MessageType;
import com.fm.core.common.domain.AbstractEntity;
import com.fm.core.common.enums.TranStatus;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.NotEmpty;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;
import javax.validation.constraints.Size;

/**
 * 统一订单流水 Entity
 *
 * @author fm
 * Date: 2020-04-26 10:59:41
 */
@Getter
@Setter
@Entity
@Table(name = "openapi_order_info")
public class OrderInfo extends AbstractEntity {
	/** serialVersionUID */
	private static final long serialVersionUID = 1L;


	/** 统一流水 */
	@NotEmpty
	@Size(max=40)
    private String gid;

	/** 商户ID */
	@NotEmpty
	@Size(max=40)
    private String partnerId;

	/*** 子商户ID */
	private String subPartnerId;

	/** 请求号 */
	@NotEmpty
	@Size(max=40)
    private String requestNo;

	/** 业务内部订单号 */
	@Size(max=40)
    private String bizOrderNo;

	/**商户订单号 */
	@Size(max=40)
    private String merchOrderNo;

	/** 服务名 */
	@NotEmpty
	@Size(max=32)
    private String serviceName;

	/** 版本号 */
	@NotEmpty
	@Size(max=8)
    private String serviceVersion;

	/** 服务分组 */
	@NotEmpty
	@Size(max=20)
	private String serviceGroup;

	/** 请求编码 */
	@Size(max=16)
    private String charset;

	/** 协议 */
	@Enumerated(EnumType.STRING)
    private MessageType messageType;

	/** 通知地址 */
	@Size(max=256)
    private String notifyUrl;

	/** 返回地址 */
	@Size(max=256)
    private String returnUrl;

	/*** 交易结果状态 */
	@Enumerated(EnumType.STRING)
	private TranStatus tranStatus;

	/*** 交易描述 */
	private String tranDesc;

	/*** 业务状态码 */
	private String respCode;

	/*** 业务状态码描述 */
	private String respMsg;

	/*** 订单描述信息 */
	private String description;

}
